#include <stdio.h>


void reverse_tab(int n, int tab[])
{
     if(n>0)
     {
     printf("%i ",tab[n-1]);
     reverse_tab(n-1,tab);
     }
}

void unreverse_tab(int n, int tab[])
{
     if(n>0)
     {
     unreverse_tab(n-1,tab);
     printf("%i ",tab[n-1]);
     }
}

int sigmatab(int n, int tab[])
{
    return n==1 ? tab[0] : tab[n-1]+sigmatab(n-1,tab);
}

int max(int n, int tab[])
{
    return n==1 ? tab[0] : (tab[n-1]>max(n-1,tab) ? tab[n-1] : max(n-1,tab));
}

int main()
{
    const int n=5;
    int tab[n]={1,2,3,4,5};
    reverse_tab(n,tab);
    printf("\n");
    unreverse_tab(n,tab);
    printf("\nsigma=%i",sigmatab(n,tab));
    printf("\nmax=%i",max(n,tab));
    getchar();
    return 0;
}
